body {
    --icon-filter: initial;
}

body.ayu {
    --icon-filter: invert(100%);
}

* {
    box-sizing: border-box;
}

blockquote { font-size: 1em; }

h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}
h1 {
    font-size: 36px;
}

a {
    color: #337ab7;
    text-decoration: none;
}

button {
    cursor: pointer;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

label {
    display: inline-block;
    max-width: 100%;
}

.dropdown-menu {
    color: var(--fg);
    background: var(--theme-popup-bg);
    border: 1px solid var(--theme-popup-border);
    border-radius: 4px;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
.open > .dropdown-menu {
  display: block;
}

.dropdown-menu .divider {
    background-color: var(--theme-popup-border);
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
}

.dropdown-menu .checkbox {
    display: block;
    white-space: nowrap;
    margin: 0;
}
.dropdown-menu .checkbox label {
    padding: 3px 20px;
    width: 100%;
}

.dropdown-menu .checkbox input {
    position: relative;
    margin: 0 0.5rem 0;
    padding: 0;
}

.dropdown-menu .checkbox:hover {
    background-color: var(--theme-hover);
}

.checkbox label {
    min-height: 20px;
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
}

.text-capitalize {
    text-transform: capitalize;
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.container::before {
    display: table;
    content: " ";
}
.container > * {
    margin-bottom: 20px;
    border-radius: 4px;
    background: var(--bg);
    border: 1px solid var(--theme-popup-border);
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
}

div.panel-body {
    padding: 15px;
}
div.panel-body::before, div.panel-body::after {
    display: table;
    content: " ";
}
div.panel-body::after {
    clear: both;
}
div.panel-body button {
    background: var(--searchbar-bg);
    border-color: var(--theme-popup-border);
    color: var(--searchbar-fg);
}

div.panel-body button:hover {
    box-shadow: 0 0 3px var(--searchbar-shadow-color);
}

div.panel-body  button.open {
    filter: brightness(90%);
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

#upper-filters {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

#upper-filters > * {
    position: relative;
}

.btn-group {
    position: relative;
    display: inline-block;
}
button {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    border-radius: 4px;
}
button:hover {
    text-decoration: none;
}
.badge {
    color: #fff;
    position: relative;
    top: -1px;
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: 10px;
    background-color: #777;
}
.btn-default:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}
.btn-default .badge {
    color: #fff;
}
button .caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0;
    vertical-align: middle;
    border-top: 4px dashed;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.lint-title {
    cursor: pointer;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    display: flex;
    flex-wrap: wrap;
    background: var(--theme-hover);
    color: var(--fg);
    border: 1px solid var(--theme-popup-border);
    padding: 10px 15px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    gap: 4px;
}

.lint-title .label { display: inline-block; }

.panel-title-name { flex: 1; min-width: 400px;}

.panel-title-name .anchor { display: none; }
article:hover .panel-title-name .anchor { display: inline;}

.search-control {
    margin-top: 15px;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.input-group {
    position: relative;
    display: flex;
}
.input-group > :last-child {
    border-left: 0;
}
.input-group > :first-child, .btn-group > :first-child {
    border-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group > :last-child, .btn-group > :last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}
.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.glyphicon.glyphicon-collapse-up::before, .glyphicon.glyphicon-collapse-down::before {
    --background-img-size: 14px;
    background-repeat: no-repeat;
    background-size: var(--background-img-size);
    height: calc(var(--background-img-size) + 6px);
    display: block;
    background-position: 50%;
    content: "";
    filter: var(--icon-filter);
}
.glyphicon.glyphicon-collapse-up:hover::before, .glyphicon.glyphicon-collapse-down:hover::before {
    filter: initial;
}
.glyphicon.glyphicon-collapse-up::before {
    /* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License -
       https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. */
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 \
        448 512"><path d="M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 \
        16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 \
        64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm224 64c6.7 0 13 2.8 17.6 \
        7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.\
        1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z"/></svg>');
}
.glyphicon.glyphicon-collapse-down::before {
    /* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License -
       https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. */
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
        viewBox="0 0 448 512"><path d="M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 \
        80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 \
        480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM224 \
        352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 \
        18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z"/></svg>');
}

.expansion-group {
    margin-top: 15px;
    padding: 0px 8px;
    display: flex;
    flex-wrap: nowrap;
}

.expansion-control {
    width: 50%;
}

@media (min-width: 405px) {
    #upper-filters {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .search-control {
        margin-top: 0;
    }
    .container {
        width: 970px;
    }
    #upper-filters, .search-control, .expansion-group {
        float: left;
    }
    #upper-filters, .search-control {
        width: 41.66666667%;
    }
    .expansion-group {
        margin-top: 0;
        padding: 0px 15px;
        width: 16.66666667%;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

@media (max-width: 430px) {
    /* Turn the version filter list to the left */
    #version-filter-selector {
        right: 0;
        left: auto;
    }
}

@media (max-width: 412px) {
    #upper-filters,
    .panel-body .search-control  {
        padding-right: 8px;
        padding-left: 8px;
    }
}

.label {
    padding: 0.3em 0.6em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
    text-decoration: none;
}

.label-default {
    background-color: #777;
}

.lint-level {
    min-width: 4em;
}
.level-allow {
    background-color: #5cb85c;
}
.level-warn {
    background-color: #f0ad4e;
}
.level-deny {
    background-color: #d9534f;
}
.level-none {
    background-color: #777777;
    opacity: 0.5;
}

.lint-group {
    min-width: 8em;
}
.group-deprecated {
    opacity: 0.5;
}

.doc-folding {
    color: #000;
    background-color: #fff;
    border: 1px solid var(--theme-popup-border);
}
.doc-folding:hover {
    background-color: #e6e6e6;
}

.lint-doc-md {
    position: relative;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
    background: 0%;
    border-bottom: 1px solid var(--theme-popup-border);
    border-top: 1px solid var(--theme-popup-border);
}
.lint-doc-md > h3 {
    border-top: 1px solid var(--theme-popup-border);
    padding: 10px 15px;
    margin: 0 -15px;
    font-size: 18px;
}
.lint-doc-md > h3:first-child {
    border-top: none;
    padding-top: 0px;
}

@media (max-width:749px) {
    .lint-additional-info {
        display: flex;
        flex-flow: column;
    }
    .lint-additional-info > div + div {
        border-top: 1px solid var(--theme-popup-border);
    }
}
@media (min-width:750px) {
    .lint-additional-info {
        display: flex;
        flex-flow: row;
    }
    .lint-additional-info > div + div {
        border-left: 1px solid var(--theme-popup-border);
    }
}

.lint-additional-info > div {
    display: inline-flex;
    min-width: 200px;
    flex-grow: 1;
    padding: 9px 5px 5px 15px;
}

.applicability {
    background-color: #777777;
    margin: auto 5px;
}

.label-version {
    background-color: #777777;
    margin: auto 5px;
    font-family: monospace;
}

pre {
    padding: 0;
}

summary {
    font-weight: bold;
    margin: -.5em -.5em 0;
    padding: .5em;
    display: revert;
}

/* Expanding the mdBook theme*/
.light, body:not([class]) {
    --inline-code-bg: #f6f7f6;
}
.rust {
    --inline-code-bg: #f6f7f6;
}
.coal {
    --inline-code-bg: #1d1f21;
}
.navy {
    --inline-code-bg: #1d1f21;
}
.ayu {
    --inline-code-bg: #191f26;
}

@media (prefers-color-scheme: dark) {
    body:not([class]) {
        /*
        In case JS is disabled and the user's system is in dark mode, we take "coal" as default
        dark theme.
        */
        --inline-code-bg: #1d1f21;
    }
}

html:not(.js) #settings-dropdown,
html:not(.js)#menu-filters {
    display: none;
}

#settings-dropdown {
    position: absolute;
    margin: 0.7em;
    z-index: 10;
    display: flex;
}

/* Applying the mdBook theme */
.settings-icon {
    text-align: center;
    width: 2em;
    height: 2em;
    line-height: 2em;
    border: solid 1px var(--icons);
    border-radius: 5px;
    user-select: none;
    cursor: pointer;
    background: var(--theme-hover);
}
.settings-menu {
    display: none;
    list-style: none;
    border: 1px solid var(--theme-popup-border);
    border-radius: 5px;
    color: var(--fg);
    background: var(--theme-popup-bg);
    overflow: hidden;
    padding: 9px;
    width: 207px;
    position: absolute;
    top: 28px;
}

.settings-icon::before {
    /* Wheel <https://www.svgrepo.com/svg/384069/settings-cog-gear> */
    content: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 12 12" \
enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg">\
<path d="M10.25,6c0-0.1243286-0.0261841-0.241333-0.0366211-0.362915l1.6077881-1.5545654l\
-1.25-2.1650391  c0,0-1.2674561,0.3625488-2.1323853,0.6099854c-0.2034912-0.1431885-0.421875\
-0.2639771-0.6494751-0.3701782L7.25,0h-2.5 c0,0-0.3214111,1.2857666-0.5393066,2.1572876\
C3.9830933,2.2634888,3.7647095,2.3842773,3.5612183,2.5274658L1.428833,1.9174805 \
l-1.25,2.1650391c0,0,0.9641113,0.9321899,1.6077881,1.5545654C1.7761841,5.758667,\
1.75,5.8756714,1.75,6  s0.0261841,0.241333,0.0366211,0.362915L0.178833,7.9174805l1.25,\
2.1650391l2.1323853-0.6099854  c0.2034912,0.1432495,0.421875,0.2639771,0.6494751,0.3701782\
L4.75,12h2.5l0.5393066-2.1572876  c0.2276001-0.1062012,0.4459839-0.2269287,0.6494751\
-0.3701782l2.1323853,0.6099854l1.25-2.1650391L10.2133789,6.362915  C10.2238159,6.241333,\
10.25,6.1243286,10.25,6z M6,7.5C5.1715698,7.5,4.5,6.8284302,4.5,6S5.1715698,4.5,6,4.5S7.5\
,5.1715698,7.5,6  S6.8284302,7.5,6,7.5z" fill="black"/></svg>');
    width: 18px;
    height: 18px;
    display: block;
    filter: invert(0.7);
    position: absolute;
    top: 4px;
    left: 5px;
}

.settings-menu * {
    font-weight: normal;
}

.settings-menu label {
    cursor: pointer;
}

#settings-dropdown.open .settings-menu {
    display: block;
}

#theme-choice {
    margin-bottom: 10px;
    background: var(--searchbar-bg);
    color: var(--searchbar-fg);
    border-color: var(--theme-popup-border);
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    border-width: 1px;
    padding: 5px;
}

.alert {
    color: var(--fg);
    background: var(--theme-hover);
    border: 1px solid var(--theme-popup-border);
}
.page-header {
    border: 0;
    border-bottom: 1px solid var(--theme-popup-border);
    padding-bottom: 19px;
    border-radius: 0;
    margin: 40px 0 20px;
}
pre, hr {
    background: var(--bg);
    border: 1px solid var(--theme-popup-border);
}

#version-filter-selector .checkbox {
    display: flex;
}

ul.dropdown-menu li.checkbox > button {
    border: 0;
    width: 100%;
    background: var(--theme-popup-bg);
    color: var(--fg);
}

ul.dropdown-menu li.checkbox > button:hover {
    background: var(--theme-hover);
    box-shadow: none;
}

#version-filter {
    min-width: available;
}

#version-filter li label {
    padding-right: 0;
    width: 35%;
}

.version-filter-input {
    height: 60%;
    width: 30%;
    text-align: center;
    border: none;
    border-bottom: 1px solid #000000;
}

#filter-label, .filter-clear {
    background: var(--searchbar-bg);
    color: var(--searchbar-fg);
    border-color: var(--theme-popup-border);
    filter: brightness(95%);
}
#filter-label:hover, .filter-clear:hover {
    filter: brightness(90%);
}
.filter-input {
    background: var(--searchbar-bg);
    color: var(--searchbar-fg);
    position: relative;
    width: 100%;
    margin-bottom: 0;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border: 1px solid var(--theme-popup-border);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.filter-input::-webkit-input-placeholder,
.filter-input::-moz-placeholder {
    color: var(--searchbar-fg);
    opacity: 30%;
}

:not(pre) > code {
    color: var(--inline-code-color);
    background-color: var(--inline-code-bg);
}
html {
    scrollbar-color: var(--scrollbar) var(--bg);
}
body {
    background: var(--bg);
    color: var(--fg);
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    margin: 0;
}

article > label {
    width: 100%;
    margin: 0;
}
article > input[type="checkbox"] {
    display: none;
}
article > input[type="checkbox"] + label .doc-folding::before {
    content: "+";
}
article > input[type="checkbox"]:checked + label .doc-folding::before {
    content: "−";
}
.lint-docs {
    display: none;
    margin-bottom: 0;
}
article > input[type="checkbox"]:checked ~ .lint-docs {
    display: block;
}

.github-corner svg {
    fill: var(--fg);
    color: var(--bg);
}
.github-corner:hover .octo-arm {
    animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
    0%,
    100% {
        transform: rotate(0);
    }
    20%,
    60% {
        transform: rotate(-25deg);
    }
    40%,
    80% {
        transform: rotate(10deg);
    }
}
@media (max-width: 500px) {
    .github-corner:hover .octo-arm {
        animation: none;
    }
    .github-corner .octo-arm {
        animation: octocat-wave 560ms ease-in-out;
    }
}
